package chapter07

import scala.collection.mutable
import scala.collection.mutable.ArrayBuffer

/**
  *
  * @author Pop
  * @date 2022/6/27 22:59
  */
object  Test02_ArrayBuffer {
  def main(args: Array[String]): Unit = {
      val arr1:ArrayBuffer[Int] = new ArrayBuffer[Int]()//默认16大小
      val arr2  = ArrayBuffer(23,56,32)

      println(arr2.mkString(","))

      // 访问元素
      println(arr2(0))
      arr2(1) = 389
      // :+ 针对的是不可变的，返回的任然是一个新的
      arr1 :+ 30

      // 可变的，又现在原有的基础上新增的方式是、
      arr1 += 19

      // 加前面
      77 +=: arr1

      // 如果觉得 + = ： 这些比较难用，你可以用
      arr1.append(23)
      arr1.prepend(33,12)
      //添加到指定的位置
      arr1.insert(1,34,4)
    // 添加数组
      arr1.insertAll(1,arr2)
//      arr1.appendAll() 同理，不再掩饰
//      arr1.prependAll()

      // 删除元素 从哪里开始删，删多少个
    arr1.remove(1)
    arr1.remove(1,2)
    //删除指定元素
    arr1 -= 14


    // 可变数组转换为不可变数组
    val arr:ArrayBuffer[Int] = ArrayBuffer(23,56,98)
    val newArr:Array[Int] = arr.toArray


    // 不可变转为可变数组
    val buffer: mutable.Buffer[Int] = newArr.toBuffer
  }
}
